package com.have.blog.model.models;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class BlogExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public BlogExample() {
        oredCriteria = new ArrayList<>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andUidIsNull() {
            addCriterion("uid is null");
            return (Criteria) this;
        }

        public Criteria andUidIsNotNull() {
            addCriterion("uid is not null");
            return (Criteria) this;
        }

        public Criteria andUidEqualTo(Integer value) {
            addCriterion("uid =", value, "uid");
            return (Criteria) this;
        }

        public Criteria andUidNotEqualTo(Integer value) {
            addCriterion("uid <>", value, "uid");
            return (Criteria) this;
        }

        public Criteria andUidGreaterThan(Integer value) {
            addCriterion("uid >", value, "uid");
            return (Criteria) this;
        }

        public Criteria andUidGreaterThanOrEqualTo(Integer value) {
            addCriterion("uid >=", value, "uid");
            return (Criteria) this;
        }

        public Criteria andUidLessThan(Integer value) {
            addCriterion("uid <", value, "uid");
            return (Criteria) this;
        }

        public Criteria andUidLessThanOrEqualTo(Integer value) {
            addCriterion("uid <=", value, "uid");
            return (Criteria) this;
        }

        public Criteria andUidIn(List<Integer> values) {
            addCriterion("uid in", values, "uid");
            return (Criteria) this;
        }

        public Criteria andUidNotIn(List<Integer> values) {
            addCriterion("uid not in", values, "uid");
            return (Criteria) this;
        }

        public Criteria andUidBetween(Integer value1, Integer value2) {
            addCriterion("uid between", value1, value2, "uid");
            return (Criteria) this;
        }

        public Criteria andUidNotBetween(Integer value1, Integer value2) {
            addCriterion("uid not between", value1, value2, "uid");
            return (Criteria) this;
        }

        public Criteria andTitleIsNull() {
            addCriterion("title is null");
            return (Criteria) this;
        }

        public Criteria andTitleIsNotNull() {
            addCriterion("title is not null");
            return (Criteria) this;
        }

        public Criteria andTitleEqualTo(String value) {
            addCriterion("title =", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotEqualTo(String value) {
            addCriterion("title <>", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleGreaterThan(String value) {
            addCriterion("title >", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleGreaterThanOrEqualTo(String value) {
            addCriterion("title >=", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleLessThan(String value) {
            addCriterion("title <", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleLessThanOrEqualTo(String value) {
            addCriterion("title <=", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleLike(String value) {
            addCriterion("title like", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotLike(String value) {
            addCriterion("title not like", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleIn(List<String> values) {
            addCriterion("title in", values, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotIn(List<String> values) {
            addCriterion("title not in", values, "title");
            return (Criteria) this;
        }

        public Criteria andTitleBetween(String value1, String value2) {
            addCriterion("title between", value1, value2, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotBetween(String value1, String value2) {
            addCriterion("title not between", value1, value2, "title");
            return (Criteria) this;
        }

        public Criteria andSummaryIsNull() {
            addCriterion("summary is null");
            return (Criteria) this;
        }

        public Criteria andSummaryIsNotNull() {
            addCriterion("summary is not null");
            return (Criteria) this;
        }

        public Criteria andSummaryEqualTo(String value) {
            addCriterion("summary =", value, "summary");
            return (Criteria) this;
        }

        public Criteria andSummaryNotEqualTo(String value) {
            addCriterion("summary <>", value, "summary");
            return (Criteria) this;
        }

        public Criteria andSummaryGreaterThan(String value) {
            addCriterion("summary >", value, "summary");
            return (Criteria) this;
        }

        public Criteria andSummaryGreaterThanOrEqualTo(String value) {
            addCriterion("summary >=", value, "summary");
            return (Criteria) this;
        }

        public Criteria andSummaryLessThan(String value) {
            addCriterion("summary <", value, "summary");
            return (Criteria) this;
        }

        public Criteria andSummaryLessThanOrEqualTo(String value) {
            addCriterion("summary <=", value, "summary");
            return (Criteria) this;
        }

        public Criteria andSummaryLike(String value) {
            addCriterion("summary like", value, "summary");
            return (Criteria) this;
        }

        public Criteria andSummaryNotLike(String value) {
            addCriterion("summary not like", value, "summary");
            return (Criteria) this;
        }

        public Criteria andSummaryIn(List<String> values) {
            addCriterion("summary in", values, "summary");
            return (Criteria) this;
        }

        public Criteria andSummaryNotIn(List<String> values) {
            addCriterion("summary not in", values, "summary");
            return (Criteria) this;
        }

        public Criteria andSummaryBetween(String value1, String value2) {
            addCriterion("summary between", value1, value2, "summary");
            return (Criteria) this;
        }

        public Criteria andSummaryNotBetween(String value1, String value2) {
            addCriterion("summary not between", value1, value2, "summary");
            return (Criteria) this;
        }

        public Criteria andClickCountIsNull() {
            addCriterion("click_count is null");
            return (Criteria) this;
        }

        public Criteria andClickCountIsNotNull() {
            addCriterion("click_count is not null");
            return (Criteria) this;
        }

        public Criteria andClickCountEqualTo(Integer value) {
            addCriterion("click_count =", value, "clickCount");
            return (Criteria) this;
        }

        public Criteria andClickCountNotEqualTo(Integer value) {
            addCriterion("click_count <>", value, "clickCount");
            return (Criteria) this;
        }

        public Criteria andClickCountGreaterThan(Integer value) {
            addCriterion("click_count >", value, "clickCount");
            return (Criteria) this;
        }

        public Criteria andClickCountGreaterThanOrEqualTo(Integer value) {
            addCriterion("click_count >=", value, "clickCount");
            return (Criteria) this;
        }

        public Criteria andClickCountLessThan(Integer value) {
            addCriterion("click_count <", value, "clickCount");
            return (Criteria) this;
        }

        public Criteria andClickCountLessThanOrEqualTo(Integer value) {
            addCriterion("click_count <=", value, "clickCount");
            return (Criteria) this;
        }

        public Criteria andClickCountIn(List<Integer> values) {
            addCriterion("click_count in", values, "clickCount");
            return (Criteria) this;
        }

        public Criteria andClickCountNotIn(List<Integer> values) {
            addCriterion("click_count not in", values, "clickCount");
            return (Criteria) this;
        }

        public Criteria andClickCountBetween(Integer value1, Integer value2) {
            addCriterion("click_count between", value1, value2, "clickCount");
            return (Criteria) this;
        }

        public Criteria andClickCountNotBetween(Integer value1, Integer value2) {
            addCriterion("click_count not between", value1, value2, "clickCount");
            return (Criteria) this;
        }

        public Criteria andCollectCountIsNull() {
            addCriterion("collect_count is null");
            return (Criteria) this;
        }

        public Criteria andCollectCountIsNotNull() {
            addCriterion("collect_count is not null");
            return (Criteria) this;
        }

        public Criteria andCollectCountEqualTo(Integer value) {
            addCriterion("collect_count =", value, "collectCount");
            return (Criteria) this;
        }

        public Criteria andCollectCountNotEqualTo(Integer value) {
            addCriterion("collect_count <>", value, "collectCount");
            return (Criteria) this;
        }

        public Criteria andCollectCountGreaterThan(Integer value) {
            addCriterion("collect_count >", value, "collectCount");
            return (Criteria) this;
        }

        public Criteria andCollectCountGreaterThanOrEqualTo(Integer value) {
            addCriterion("collect_count >=", value, "collectCount");
            return (Criteria) this;
        }

        public Criteria andCollectCountLessThan(Integer value) {
            addCriterion("collect_count <", value, "collectCount");
            return (Criteria) this;
        }

        public Criteria andCollectCountLessThanOrEqualTo(Integer value) {
            addCriterion("collect_count <=", value, "collectCount");
            return (Criteria) this;
        }

        public Criteria andCollectCountIn(List<Integer> values) {
            addCriterion("collect_count in", values, "collectCount");
            return (Criteria) this;
        }

        public Criteria andCollectCountNotIn(List<Integer> values) {
            addCriterion("collect_count not in", values, "collectCount");
            return (Criteria) this;
        }

        public Criteria andCollectCountBetween(Integer value1, Integer value2) {
            addCriterion("collect_count between", value1, value2, "collectCount");
            return (Criteria) this;
        }

        public Criteria andCollectCountNotBetween(Integer value1, Integer value2) {
            addCriterion("collect_count not between", value1, value2, "collectCount");
            return (Criteria) this;
        }

        public Criteria andCoverUidIsNull() {
            addCriterion("cover_uid is null");
            return (Criteria) this;
        }

        public Criteria andCoverUidIsNotNull() {
            addCriterion("cover_uid is not null");
            return (Criteria) this;
        }

        public Criteria andCoverUidEqualTo(Integer value) {
            addCriterion("cover_uid =", value, "coverUid");
            return (Criteria) this;
        }

        public Criteria andCoverUidNotEqualTo(Integer value) {
            addCriterion("cover_uid <>", value, "coverUid");
            return (Criteria) this;
        }

        public Criteria andCoverUidGreaterThan(Integer value) {
            addCriterion("cover_uid >", value, "coverUid");
            return (Criteria) this;
        }

        public Criteria andCoverUidGreaterThanOrEqualTo(Integer value) {
            addCriterion("cover_uid >=", value, "coverUid");
            return (Criteria) this;
        }

        public Criteria andCoverUidLessThan(Integer value) {
            addCriterion("cover_uid <", value, "coverUid");
            return (Criteria) this;
        }

        public Criteria andCoverUidLessThanOrEqualTo(Integer value) {
            addCriterion("cover_uid <=", value, "coverUid");
            return (Criteria) this;
        }

        public Criteria andCoverUidIn(List<Integer> values) {
            addCriterion("cover_uid in", values, "coverUid");
            return (Criteria) this;
        }

        public Criteria andCoverUidNotIn(List<Integer> values) {
            addCriterion("cover_uid not in", values, "coverUid");
            return (Criteria) this;
        }

        public Criteria andCoverUidBetween(Integer value1, Integer value2) {
            addCriterion("cover_uid between", value1, value2, "coverUid");
            return (Criteria) this;
        }

        public Criteria andCoverUidNotBetween(Integer value1, Integer value2) {
            addCriterion("cover_uid not between", value1, value2, "coverUid");
            return (Criteria) this;
        }

        public Criteria andStatusIsNull() {
            addCriterion("status is null");
            return (Criteria) this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion("status is not null");
            return (Criteria) this;
        }

        public Criteria andStatusEqualTo(Integer value) {
            addCriterion("status =", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotEqualTo(Integer value) {
            addCriterion("status <>", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThan(Integer value) {
            addCriterion("status >", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("status >=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThan(Integer value) {
            addCriterion("status <", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThanOrEqualTo(Integer value) {
            addCriterion("status <=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusIn(List<Integer> values) {
            addCriterion("status in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotIn(List<Integer> values) {
            addCriterion("status not in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusBetween(Integer value1, Integer value2) {
            addCriterion("status between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("status not between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNull() {
            addCriterion("update_time is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNotNull() {
            addCriterion("update_time is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualTo(Date value) {
            addCriterion("update_time =", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualTo(Date value) {
            addCriterion("update_time <>", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThan(Date value) {
            addCriterion("update_time >", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("update_time >=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThan(Date value) {
            addCriterion("update_time <", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
            addCriterion("update_time <=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(List<Date> values) {
            addCriterion("update_time in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(List<Date> values) {
            addCriterion("update_time not in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
            addCriterion("update_time between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
            addCriterion("update_time not between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andAdminUidIsNull() {
            addCriterion("admin_uid is null");
            return (Criteria) this;
        }

        public Criteria andAdminUidIsNotNull() {
            addCriterion("admin_uid is not null");
            return (Criteria) this;
        }

        public Criteria andAdminUidEqualTo(Integer value) {
            addCriterion("admin_uid =", value, "adminUid");
            return (Criteria) this;
        }

        public Criteria andAdminUidNotEqualTo(Integer value) {
            addCriterion("admin_uid <>", value, "adminUid");
            return (Criteria) this;
        }

        public Criteria andAdminUidGreaterThan(Integer value) {
            addCriterion("admin_uid >", value, "adminUid");
            return (Criteria) this;
        }

        public Criteria andAdminUidGreaterThanOrEqualTo(Integer value) {
            addCriterion("admin_uid >=", value, "adminUid");
            return (Criteria) this;
        }

        public Criteria andAdminUidLessThan(Integer value) {
            addCriterion("admin_uid <", value, "adminUid");
            return (Criteria) this;
        }

        public Criteria andAdminUidLessThanOrEqualTo(Integer value) {
            addCriterion("admin_uid <=", value, "adminUid");
            return (Criteria) this;
        }

        public Criteria andAdminUidIn(List<Integer> values) {
            addCriterion("admin_uid in", values, "adminUid");
            return (Criteria) this;
        }

        public Criteria andAdminUidNotIn(List<Integer> values) {
            addCriterion("admin_uid not in", values, "adminUid");
            return (Criteria) this;
        }

        public Criteria andAdminUidBetween(Integer value1, Integer value2) {
            addCriterion("admin_uid between", value1, value2, "adminUid");
            return (Criteria) this;
        }

        public Criteria andAdminUidNotBetween(Integer value1, Integer value2) {
            addCriterion("admin_uid not between", value1, value2, "adminUid");
            return (Criteria) this;
        }

        public Criteria andIsOriginalIsNull() {
            addCriterion("is_original is null");
            return (Criteria) this;
        }

        public Criteria andIsOriginalIsNotNull() {
            addCriterion("is_original is not null");
            return (Criteria) this;
        }

        public Criteria andIsOriginalEqualTo(Integer value) {
            addCriterion("is_original =", value, "isOriginal");
            return (Criteria) this;
        }

        public Criteria andIsOriginalNotEqualTo(Integer value) {
            addCriterion("is_original <>", value, "isOriginal");
            return (Criteria) this;
        }

        public Criteria andIsOriginalGreaterThan(Integer value) {
            addCriterion("is_original >", value, "isOriginal");
            return (Criteria) this;
        }

        public Criteria andIsOriginalGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_original >=", value, "isOriginal");
            return (Criteria) this;
        }

        public Criteria andIsOriginalLessThan(Integer value) {
            addCriterion("is_original <", value, "isOriginal");
            return (Criteria) this;
        }

        public Criteria andIsOriginalLessThanOrEqualTo(Integer value) {
            addCriterion("is_original <=", value, "isOriginal");
            return (Criteria) this;
        }

        public Criteria andIsOriginalIn(List<Integer> values) {
            addCriterion("is_original in", values, "isOriginal");
            return (Criteria) this;
        }

        public Criteria andIsOriginalNotIn(List<Integer> values) {
            addCriterion("is_original not in", values, "isOriginal");
            return (Criteria) this;
        }

        public Criteria andIsOriginalBetween(Integer value1, Integer value2) {
            addCriterion("is_original between", value1, value2, "isOriginal");
            return (Criteria) this;
        }

        public Criteria andIsOriginalNotBetween(Integer value1, Integer value2) {
            addCriterion("is_original not between", value1, value2, "isOriginal");
            return (Criteria) this;
        }

        public Criteria andAuthorIsNull() {
            addCriterion("author is null");
            return (Criteria) this;
        }

        public Criteria andAuthorIsNotNull() {
            addCriterion("author is not null");
            return (Criteria) this;
        }

        public Criteria andAuthorEqualTo(String value) {
            addCriterion("author =", value, "author");
            return (Criteria) this;
        }

        public Criteria andAuthorNotEqualTo(String value) {
            addCriterion("author <>", value, "author");
            return (Criteria) this;
        }

        public Criteria andAuthorGreaterThan(String value) {
            addCriterion("author >", value, "author");
            return (Criteria) this;
        }

        public Criteria andAuthorGreaterThanOrEqualTo(String value) {
            addCriterion("author >=", value, "author");
            return (Criteria) this;
        }

        public Criteria andAuthorLessThan(String value) {
            addCriterion("author <", value, "author");
            return (Criteria) this;
        }

        public Criteria andAuthorLessThanOrEqualTo(String value) {
            addCriterion("author <=", value, "author");
            return (Criteria) this;
        }

        public Criteria andAuthorLike(String value) {
            addCriterion("author like", value, "author");
            return (Criteria) this;
        }

        public Criteria andAuthorNotLike(String value) {
            addCriterion("author not like", value, "author");
            return (Criteria) this;
        }

        public Criteria andAuthorIn(List<String> values) {
            addCriterion("author in", values, "author");
            return (Criteria) this;
        }

        public Criteria andAuthorNotIn(List<String> values) {
            addCriterion("author not in", values, "author");
            return (Criteria) this;
        }

        public Criteria andAuthorBetween(String value1, String value2) {
            addCriterion("author between", value1, value2, "author");
            return (Criteria) this;
        }

        public Criteria andAuthorNotBetween(String value1, String value2) {
            addCriterion("author not between", value1, value2, "author");
            return (Criteria) this;
        }

        public Criteria andArticlesCitationsIsNull() {
            addCriterion("articles_citations is null");
            return (Criteria) this;
        }

        public Criteria andArticlesCitationsIsNotNull() {
            addCriterion("articles_citations is not null");
            return (Criteria) this;
        }

        public Criteria andArticlesCitationsEqualTo(String value) {
            addCriterion("articles_citations =", value, "articlesCitations");
            return (Criteria) this;
        }

        public Criteria andArticlesCitationsNotEqualTo(String value) {
            addCriterion("articles_citations <>", value, "articlesCitations");
            return (Criteria) this;
        }

        public Criteria andArticlesCitationsGreaterThan(String value) {
            addCriterion("articles_citations >", value, "articlesCitations");
            return (Criteria) this;
        }

        public Criteria andArticlesCitationsGreaterThanOrEqualTo(String value) {
            addCriterion("articles_citations >=", value, "articlesCitations");
            return (Criteria) this;
        }

        public Criteria andArticlesCitationsLessThan(String value) {
            addCriterion("articles_citations <", value, "articlesCitations");
            return (Criteria) this;
        }

        public Criteria andArticlesCitationsLessThanOrEqualTo(String value) {
            addCriterion("articles_citations <=", value, "articlesCitations");
            return (Criteria) this;
        }

        public Criteria andArticlesCitationsLike(String value) {
            addCriterion("articles_citations like", value, "articlesCitations");
            return (Criteria) this;
        }

        public Criteria andArticlesCitationsNotLike(String value) {
            addCriterion("articles_citations not like", value, "articlesCitations");
            return (Criteria) this;
        }

        public Criteria andArticlesCitationsIn(List<String> values) {
            addCriterion("articles_citations in", values, "articlesCitations");
            return (Criteria) this;
        }

        public Criteria andArticlesCitationsNotIn(List<String> values) {
            addCriterion("articles_citations not in", values, "articlesCitations");
            return (Criteria) this;
        }

        public Criteria andArticlesCitationsBetween(String value1, String value2) {
            addCriterion("articles_citations between", value1, value2, "articlesCitations");
            return (Criteria) this;
        }

        public Criteria andArticlesCitationsNotBetween(String value1, String value2) {
            addCriterion("articles_citations not between", value1, value2, "articlesCitations");
            return (Criteria) this;
        }

        public Criteria andBlogCategoryUidIsNull() {
            addCriterion("blog_category_uid is null");
            return (Criteria) this;
        }

        public Criteria andBlogCategoryUidIsNotNull() {
            addCriterion("blog_category_uid is not null");
            return (Criteria) this;
        }

        public Criteria andBlogCategoryUidEqualTo(Integer value) {
            addCriterion("blog_category_uid =", value, "blogCategoryUid");
            return (Criteria) this;
        }

        public Criteria andBlogCategoryUidNotEqualTo(Integer value) {
            addCriterion("blog_category_uid <>", value, "blogCategoryUid");
            return (Criteria) this;
        }

        public Criteria andBlogCategoryUidGreaterThan(Integer value) {
            addCriterion("blog_category_uid >", value, "blogCategoryUid");
            return (Criteria) this;
        }

        public Criteria andBlogCategoryUidGreaterThanOrEqualTo(Integer value) {
            addCriterion("blog_category_uid >=", value, "blogCategoryUid");
            return (Criteria) this;
        }

        public Criteria andBlogCategoryUidLessThan(Integer value) {
            addCriterion("blog_category_uid <", value, "blogCategoryUid");
            return (Criteria) this;
        }

        public Criteria andBlogCategoryUidLessThanOrEqualTo(Integer value) {
            addCriterion("blog_category_uid <=", value, "blogCategoryUid");
            return (Criteria) this;
        }

        public Criteria andBlogCategoryUidIn(List<Integer> values) {
            addCriterion("blog_category_uid in", values, "blogCategoryUid");
            return (Criteria) this;
        }

        public Criteria andBlogCategoryUidNotIn(List<Integer> values) {
            addCriterion("blog_category_uid not in", values, "blogCategoryUid");
            return (Criteria) this;
        }

        public Criteria andBlogCategoryUidBetween(Integer value1, Integer value2) {
            addCriterion("blog_category_uid between", value1, value2, "blogCategoryUid");
            return (Criteria) this;
        }

        public Criteria andBlogCategoryUidNotBetween(Integer value1, Integer value2) {
            addCriterion("blog_category_uid not between", value1, value2, "blogCategoryUid");
            return (Criteria) this;
        }

        public Criteria andLevelIsNull() {
            addCriterion("level is null");
            return (Criteria) this;
        }

        public Criteria andLevelIsNotNull() {
            addCriterion("level is not null");
            return (Criteria) this;
        }

        public Criteria andLevelEqualTo(Integer value) {
            addCriterion("level =", value, "level");
            return (Criteria) this;
        }

        public Criteria andLevelNotEqualTo(Integer value) {
            addCriterion("level <>", value, "level");
            return (Criteria) this;
        }

        public Criteria andLevelGreaterThan(Integer value) {
            addCriterion("level >", value, "level");
            return (Criteria) this;
        }

        public Criteria andLevelGreaterThanOrEqualTo(Integer value) {
            addCriterion("level >=", value, "level");
            return (Criteria) this;
        }

        public Criteria andLevelLessThan(Integer value) {
            addCriterion("level <", value, "level");
            return (Criteria) this;
        }

        public Criteria andLevelLessThanOrEqualTo(Integer value) {
            addCriterion("level <=", value, "level");
            return (Criteria) this;
        }

        public Criteria andLevelIn(List<Integer> values) {
            addCriterion("level in", values, "level");
            return (Criteria) this;
        }

        public Criteria andLevelNotIn(List<Integer> values) {
            addCriterion("level not in", values, "level");
            return (Criteria) this;
        }

        public Criteria andLevelBetween(Integer value1, Integer value2) {
            addCriterion("level between", value1, value2, "level");
            return (Criteria) this;
        }

        public Criteria andLevelNotBetween(Integer value1, Integer value2) {
            addCriterion("level not between", value1, value2, "level");
            return (Criteria) this;
        }

        public Criteria andIsPublishIsNull() {
            addCriterion("is_publish is null");
            return (Criteria) this;
        }

        public Criteria andIsPublishIsNotNull() {
            addCriterion("is_publish is not null");
            return (Criteria) this;
        }

        public Criteria andIsPublishEqualTo(Integer value) {
            addCriterion("is_publish =", value, "isPublish");
            return (Criteria) this;
        }

        public Criteria andIsPublishNotEqualTo(Integer value) {
            addCriterion("is_publish <>", value, "isPublish");
            return (Criteria) this;
        }

        public Criteria andIsPublishGreaterThan(Integer value) {
            addCriterion("is_publish >", value, "isPublish");
            return (Criteria) this;
        }

        public Criteria andIsPublishGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_publish >=", value, "isPublish");
            return (Criteria) this;
        }

        public Criteria andIsPublishLessThan(Integer value) {
            addCriterion("is_publish <", value, "isPublish");
            return (Criteria) this;
        }

        public Criteria andIsPublishLessThanOrEqualTo(Integer value) {
            addCriterion("is_publish <=", value, "isPublish");
            return (Criteria) this;
        }

        public Criteria andIsPublishIn(List<Integer> values) {
            addCriterion("is_publish in", values, "isPublish");
            return (Criteria) this;
        }

        public Criteria andIsPublishNotIn(List<Integer> values) {
            addCriterion("is_publish not in", values, "isPublish");
            return (Criteria) this;
        }

        public Criteria andIsPublishBetween(Integer value1, Integer value2) {
            addCriterion("is_publish between", value1, value2, "isPublish");
            return (Criteria) this;
        }

        public Criteria andIsPublishNotBetween(Integer value1, Integer value2) {
            addCriterion("is_publish not between", value1, value2, "isPublish");
            return (Criteria) this;
        }

        public Criteria andSortCountIsNull() {
            addCriterion("sort_count is null");
            return (Criteria) this;
        }

        public Criteria andSortCountIsNotNull() {
            addCriterion("sort_count is not null");
            return (Criteria) this;
        }

        public Criteria andSortCountEqualTo(Integer value) {
            addCriterion("sort_count =", value, "sortCount");
            return (Criteria) this;
        }

        public Criteria andSortCountNotEqualTo(Integer value) {
            addCriterion("sort_count <>", value, "sortCount");
            return (Criteria) this;
        }

        public Criteria andSortCountGreaterThan(Integer value) {
            addCriterion("sort_count >", value, "sortCount");
            return (Criteria) this;
        }

        public Criteria andSortCountGreaterThanOrEqualTo(Integer value) {
            addCriterion("sort_count >=", value, "sortCount");
            return (Criteria) this;
        }

        public Criteria andSortCountLessThan(Integer value) {
            addCriterion("sort_count <", value, "sortCount");
            return (Criteria) this;
        }

        public Criteria andSortCountLessThanOrEqualTo(Integer value) {
            addCriterion("sort_count <=", value, "sortCount");
            return (Criteria) this;
        }

        public Criteria andSortCountIn(List<Integer> values) {
            addCriterion("sort_count in", values, "sortCount");
            return (Criteria) this;
        }

        public Criteria andSortCountNotIn(List<Integer> values) {
            addCriterion("sort_count not in", values, "sortCount");
            return (Criteria) this;
        }

        public Criteria andSortCountBetween(Integer value1, Integer value2) {
            addCriterion("sort_count between", value1, value2, "sortCount");
            return (Criteria) this;
        }

        public Criteria andSortCountNotBetween(Integer value1, Integer value2) {
            addCriterion("sort_count not between", value1, value2, "sortCount");
            return (Criteria) this;
        }

        public Criteria andOpenCommentIsNull() {
            addCriterion("open_comment is null");
            return (Criteria) this;
        }

        public Criteria andOpenCommentIsNotNull() {
            addCriterion("open_comment is not null");
            return (Criteria) this;
        }

        public Criteria andOpenCommentEqualTo(Integer value) {
            addCriterion("open_comment =", value, "openComment");
            return (Criteria) this;
        }

        public Criteria andOpenCommentNotEqualTo(Integer value) {
            addCriterion("open_comment <>", value, "openComment");
            return (Criteria) this;
        }

        public Criteria andOpenCommentGreaterThan(Integer value) {
            addCriterion("open_comment >", value, "openComment");
            return (Criteria) this;
        }

        public Criteria andOpenCommentGreaterThanOrEqualTo(Integer value) {
            addCriterion("open_comment >=", value, "openComment");
            return (Criteria) this;
        }

        public Criteria andOpenCommentLessThan(Integer value) {
            addCriterion("open_comment <", value, "openComment");
            return (Criteria) this;
        }

        public Criteria andOpenCommentLessThanOrEqualTo(Integer value) {
            addCriterion("open_comment <=", value, "openComment");
            return (Criteria) this;
        }

        public Criteria andOpenCommentIn(List<Integer> values) {
            addCriterion("open_comment in", values, "openComment");
            return (Criteria) this;
        }

        public Criteria andOpenCommentNotIn(List<Integer> values) {
            addCriterion("open_comment not in", values, "openComment");
            return (Criteria) this;
        }

        public Criteria andOpenCommentBetween(Integer value1, Integer value2) {
            addCriterion("open_comment between", value1, value2, "openComment");
            return (Criteria) this;
        }

        public Criteria andOpenCommentNotBetween(Integer value1, Integer value2) {
            addCriterion("open_comment not between", value1, value2, "openComment");
            return (Criteria) this;
        }

        public Criteria andTypeIsNull() {
            addCriterion("type is null");
            return (Criteria) this;
        }

        public Criteria andTypeIsNotNull() {
            addCriterion("type is not null");
            return (Criteria) this;
        }

        public Criteria andTypeEqualTo(Integer value) {
            addCriterion("type =", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotEqualTo(Integer value) {
            addCriterion("type <>", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeGreaterThan(Integer value) {
            addCriterion("type >", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("type >=", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeLessThan(Integer value) {
            addCriterion("type <", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeLessThanOrEqualTo(Integer value) {
            addCriterion("type <=", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeIn(List<Integer> values) {
            addCriterion("type in", values, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotIn(List<Integer> values) {
            addCriterion("type not in", values, "type");
            return (Criteria) this;
        }

        public Criteria andTypeBetween(Integer value1, Integer value2) {
            addCriterion("type between", value1, value2, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("type not between", value1, value2, "type");
            return (Criteria) this;
        }

        public Criteria andOutsideLinkIsNull() {
            addCriterion("outside_link is null");
            return (Criteria) this;
        }

        public Criteria andOutsideLinkIsNotNull() {
            addCriterion("outside_link is not null");
            return (Criteria) this;
        }

        public Criteria andOutsideLinkEqualTo(String value) {
            addCriterion("outside_link =", value, "outsideLink");
            return (Criteria) this;
        }

        public Criteria andOutsideLinkNotEqualTo(String value) {
            addCriterion("outside_link <>", value, "outsideLink");
            return (Criteria) this;
        }

        public Criteria andOutsideLinkGreaterThan(String value) {
            addCriterion("outside_link >", value, "outsideLink");
            return (Criteria) this;
        }

        public Criteria andOutsideLinkGreaterThanOrEqualTo(String value) {
            addCriterion("outside_link >=", value, "outsideLink");
            return (Criteria) this;
        }

        public Criteria andOutsideLinkLessThan(String value) {
            addCriterion("outside_link <", value, "outsideLink");
            return (Criteria) this;
        }

        public Criteria andOutsideLinkLessThanOrEqualTo(String value) {
            addCriterion("outside_link <=", value, "outsideLink");
            return (Criteria) this;
        }

        public Criteria andOutsideLinkLike(String value) {
            addCriterion("outside_link like", value, "outsideLink");
            return (Criteria) this;
        }

        public Criteria andOutsideLinkNotLike(String value) {
            addCriterion("outside_link not like", value, "outsideLink");
            return (Criteria) this;
        }

        public Criteria andOutsideLinkIn(List<String> values) {
            addCriterion("outside_link in", values, "outsideLink");
            return (Criteria) this;
        }

        public Criteria andOutsideLinkNotIn(List<String> values) {
            addCriterion("outside_link not in", values, "outsideLink");
            return (Criteria) this;
        }

        public Criteria andOutsideLinkBetween(String value1, String value2) {
            addCriterion("outside_link between", value1, value2, "outsideLink");
            return (Criteria) this;
        }

        public Criteria andOutsideLinkNotBetween(String value1, String value2) {
            addCriterion("outside_link not between", value1, value2, "outsideLink");
            return (Criteria) this;
        }

        public Criteria andUserUidIsNull() {
            addCriterion("user_uid is null");
            return (Criteria) this;
        }

        public Criteria andUserUidIsNotNull() {
            addCriterion("user_uid is not null");
            return (Criteria) this;
        }

        public Criteria andUserUidEqualTo(Integer value) {
            addCriterion("user_uid =", value, "userUid");
            return (Criteria) this;
        }

        public Criteria andUserUidNotEqualTo(Integer value) {
            addCriterion("user_uid <>", value, "userUid");
            return (Criteria) this;
        }

        public Criteria andUserUidGreaterThan(Integer value) {
            addCriterion("user_uid >", value, "userUid");
            return (Criteria) this;
        }

        public Criteria andUserUidGreaterThanOrEqualTo(Integer value) {
            addCriterion("user_uid >=", value, "userUid");
            return (Criteria) this;
        }

        public Criteria andUserUidLessThan(Integer value) {
            addCriterion("user_uid <", value, "userUid");
            return (Criteria) this;
        }

        public Criteria andUserUidLessThanOrEqualTo(Integer value) {
            addCriterion("user_uid <=", value, "userUid");
            return (Criteria) this;
        }

        public Criteria andUserUidIn(List<Integer> values) {
            addCriterion("user_uid in", values, "userUid");
            return (Criteria) this;
        }

        public Criteria andUserUidNotIn(List<Integer> values) {
            addCriterion("user_uid not in", values, "userUid");
            return (Criteria) this;
        }

        public Criteria andUserUidBetween(Integer value1, Integer value2) {
            addCriterion("user_uid between", value1, value2, "userUid");
            return (Criteria) this;
        }

        public Criteria andUserUidNotBetween(Integer value1, Integer value2) {
            addCriterion("user_uid not between", value1, value2, "userUid");
            return (Criteria) this;
        }

        public Criteria andArticleSourceIsNull() {
            addCriterion("article_source is null");
            return (Criteria) this;
        }

        public Criteria andArticleSourceIsNotNull() {
            addCriterion("article_source is not null");
            return (Criteria) this;
        }

        public Criteria andArticleSourceEqualTo(Integer value) {
            addCriterion("article_source =", value, "articleSource");
            return (Criteria) this;
        }

        public Criteria andArticleSourceNotEqualTo(Integer value) {
            addCriterion("article_source <>", value, "articleSource");
            return (Criteria) this;
        }

        public Criteria andArticleSourceGreaterThan(Integer value) {
            addCriterion("article_source >", value, "articleSource");
            return (Criteria) this;
        }

        public Criteria andArticleSourceGreaterThanOrEqualTo(Integer value) {
            addCriterion("article_source >=", value, "articleSource");
            return (Criteria) this;
        }

        public Criteria andArticleSourceLessThan(Integer value) {
            addCriterion("article_source <", value, "articleSource");
            return (Criteria) this;
        }

        public Criteria andArticleSourceLessThanOrEqualTo(Integer value) {
            addCriterion("article_source <=", value, "articleSource");
            return (Criteria) this;
        }

        public Criteria andArticleSourceIn(List<Integer> values) {
            addCriterion("article_source in", values, "articleSource");
            return (Criteria) this;
        }

        public Criteria andArticleSourceNotIn(List<Integer> values) {
            addCriterion("article_source not in", values, "articleSource");
            return (Criteria) this;
        }

        public Criteria andArticleSourceBetween(Integer value1, Integer value2) {
            addCriterion("article_source between", value1, value2, "articleSource");
            return (Criteria) this;
        }

        public Criteria andArticleSourceNotBetween(Integer value1, Integer value2) {
            addCriterion("article_source not between", value1, value2, "articleSource");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {
        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}